草庐IT

android - 导入 Dart 包

全部标签

go - 如何导入导入包的 vendor 包

我正在使用etcd的wal包(https://godoc.org/github.com/coreos/etcd/wal)进行预写日志记录。wal在其vendor包中有go.uber.org/zap。在wal的create函数funcCreate(lg*zap.Logger,dirpathstring,metadata[]byte)(*WAL,error)中,需要传入zap.Logger.我尝试导入go.uber.org/zap,但是当我传入zap.Logger时,go编译器提示“类型不匹配”。packagemainimport("github.com/coreos/etcd/wal")

go - 如何解决导入周期不允许的问题,尽管我正在使用界面?

有三个结构:A(packagea),B(packageb),C(packagec)。B想要使用C的功能,C想要使用B的功能。A有B和C实例,所以B可以访问C的功能>通过A反之亦然。我使用了在另一个packagei中声明的接口(interface)Ageter,它的函数声明为GetA()*a.A现在我在B和C中使用这个接口(interface)Ageter,通过它我得到A的实例和访问功能C和B。packageaimport("fmt""basics/importCycleIssue/issueFix/b""basics/importCycleIssue/issueFix/c")typeA

go - 管理硬编码导入路径

在Go中,一些包是有版本控制的是很常见的。所以一个程序可能看起来像这样:packagemainimport("github.com/go-gl/gl/v3.3-core/gl""github.com/go-gl/glfw/v3.2/glfw")//...dostuff有时,我可能想更新glfw的版本。让我们想象一下GLFW3.3绑定(bind)到Go,我想从3.2更新。我可能在一个项目中有多个Go文件都使用glfw。我不想进入其中的每一个并手动更新导入的版本。理想情况下,我也不会复制那条漫长的路径,我可以在每个项目的一个地方定义它。也许我可以写一个脚本来查找+替换“github.com

go - 未导入 Github 分支中的更改

我正在编写一个MIDI解析器,它可以拆分MIDI文件并调整不同轨道上的音量以允许特定的语音隔离以帮助练习。我正在使用Go库,EasyMIDI.但是,我遇到了库未涵盖的用例,因此我fork了存储库并进行了更改,以在短期内解决我的问题。在我的go.mod和import语句中使用我的forkGithubURL时,我能够成功构建,但我所做的代码更改没有反射(reflect)出来。我将函数GetChannel()添加到接口(interface)中,因此应该将其列为一个选项。当我点击另一个最初实现的功能的源代码时,我看到我的VSCode在抓取代码时引用了非fork的存储库(请参见下面的屏幕片段)。

go - 将映射传递给导入的 Golang 包中的函数时出错

我需要将映射发送到导入包中声明的函数,并不断收到此错误:./main.go:21:cannotusem(typemap[string]ticket)astypemap[string]some_package.ticketinfunctionargument这是golangGOPATH文件夹中main.go的代码:packagemainimport("time"sp"./some_package")typeticketstruct{Timestampint64Identification_numberint}varmmap[string]ticketfuncmain(){humans:=

go - 导入的结构用作匿名字段

所以我正在尝试编写一些Go文件,以便有一个面向公众的包和一个内部包。在面向公众的包中,有一个结构与内部结构几乎相同(缺少一个字段)。我想过在内部结构体中使用匿名字段,但似乎不太好玩。例子:public/public.go:packagepublictypePublicStructstruct{Field1bool`json:"fetchStats"`}数据/数据.gopackagedataimportpublicData"public"typeInternalStructstruct{publicData.PublicStructField2bool`json:"includeHidd

go - 导入驻留在同一目录中的文件

让我很难用Go编程的一件事是我必须将我想在我的主模块中导入的模块(或者我应该称它们为包?)放在单独的目录中,甚至更多,必须有一个src目录。有没有办法导入与主模块位于同一目录中的文件?当前目录布局:main.gosrc/lib/lib.go现在我可以import"lib"我最想拥有的东西:main.golib.go并且仍然让编译器愉快地找到lib.go。 最佳答案 这是您想要的布局:main.golib.go这没问题。Go允许你有这样的文件结构。它被很多Go程序使用。但是它们都需要定义为packagemain。如果你问为什么?因为那

go - 检测导入包中的竞争条件

我有一个包,我在其中编写了一个golang代码。我担心程序运行不正常,因为它会不时输出不同的结果。可能是由于racecondtions。所以我跑了很多次:gorun-racemyprogram但我没有收到任何警告或错误。可能错误出现在我导入的另一个包中。据我了解,-race标志不会检测到它们。如果是这样,我该怎么做(检测不是在我的代码中而是在我导入并在我的代码中使用的包中发生的竞争条件)? 最佳答案 竞争条件检测是假阴性而不是假阳性。这意味着它可以在竞争刚刚发生的任何时候检测到竞争——当一个程序试图同时读取或写入一个共享值时。底线是

go - 如何修复此导入?

main_test.gopackagemain_testimport("log""os""testing"".")funcTestMain(m*testing.M){a=main.App{}a.Init(os.Getenv("TEST_DB_USERNAME"),os.Getenv("TEST_DB_PASSWORD"),os.Getenv("TEST_DB_NAME"))ensureTableExists()code:=m.Run()clearTable()os.Exit(code)}应用程序去packagemainimport("database/sql""fmt""log""gi

go - 导入包的正确项目结构

这里的标题是我当前的Go应用程序结构,它提供静态http页面并通过websocket发送数据。在下面的结构中,我有2个包常量和main,但无法使用main包中的常量。Server-ClientGameassetscssindex.cssjsapp.jstemplatesindex.htmlconstantsserver.gogame.gomainmain.gohub.goplayer.go我应该使用Go工作区吗?或者我可以让它按原样工作吗?我的项目目前不在我之前称为“工作区”的GoPathsrc中。 最佳答案 你应该有一个至少包含s